// {
//     //基本定义和生成实例
//     class Person{
//         constructor(name='laozhou'){
//             this.name = name;
//         }
//     }
//     let p1 = new Person('小王');
//     console.log('构造函数和实例',p1);
// }
// {
//     //继承
//     class Father{
//         constructor(name='laozhou'){
//             this.name = name;
//         }
//     }
//     class Child extends Father{
//
//     }
//     console.log('子类的实例',new Child());
//     console.log('子类自己传',new Child('小刘'))
// }


// {
//     //子类如何覆盖父类的值
//     class Father{
//         constructor(name='laozhou',sex='男'){
//             this.name = name;
//             this.sex = sex;
//         }
//     }
//     class Child extends Father{
//         constructor(name,sex,age=10){
//             super(name,sex);
//             this.age = age;
//         }
//     }
//     console.log('子类覆盖父类属性的实例',new Child());
// }
//


// {
//     class Person{
//         constructor(name='laozhou'){
//             this.name = name;
//         }
//     }
//     //静态属性的定义，是直接给类下的属性赋值，该属性就是静态属性
//     Person.type = 'text';//type就是静态属性
//     console.log(Person.type);
// }

//静态方法
// {
//     class Person{
//         constructor(name='laozhou'){
//             this.name = name;
//         }
//         //静态
//         static tell(){//相当于原型下的方法,是属于类本身的，用类来调用
//             console.log('tell');
//         }
//         say(){
//             console.log(123);
//         }
//     }
//     var p1 = new Person();
//     p1.say();
//     Person.say();
//
//
//     class Child extends Person{
//
//     }
//     Child.tell();
//     // Person.tell();
// }
